<template>
  <div class="app-container">
    <!--表单-->
    <el-form :inline="true" class="demo-form-inline">
      <el-form-item>
      <el-select v-model="searchObj.type" clearable placeholder="请选择">
      <el-option label="学员登录数统计" value="login_num"/>
      <el-option label="学员注册数统计" value="register_num"/>
      <el-option label="课程播放数统计" value="video_view_num"/>
      <el-option label="每日课程数统计" value="course_num"/>
      </el-select>
      </el-form-item>
      <el-form-item>
        <el-date-picker
          v-model="searchObj.begin"
          type="date"
          placeholder="选择开始日期"
          value-format="yyyy-MM-dd" />
      </el-form-item>
      <el-form-item>
        <el-date-picker
          v-model="searchObj.end"
          type="date"
          placeholder="选择截止日期"
          value-format="yyyy-MM-dd" />
      </el-form-item>
      <el-button
        :disabled="btnDisabled"
        type="primary"
        icon="el-icon-search"
        @click="showChart()">查询</el-button>
    </el-form>
    <div class="chart-container">
      <div id="chart" class="chart" style="height:500px;width:100%" />
    </div>
  </div>
</template>

<script>
import echarts from 'echarts'
import staApi from '@/api/sta/sta.js'
export default{
  data(){
    return{
      searchObj: {},  //查询的条件
      btnDisabled: false,
      chart: '',  //图表对象
      xData: [],  //X轴数据
      yData: []   //Y轴数据
    }
  },
  created(){

  },
  methods:{
    //获取数据
    showChart(){
      staApi.getDataSta(this.searchObj)
        .then(res => {
          this.xData = res.data.dateList;
          this.yData = res.data.numList;

          //调用下面构建图标的方法，改变值
          this.setChart();
        })
    },
    //构建图表
    setChart(){
      this.chart = echarts.init(document.getElementById('chart'));
      var option;

      option = {
          title: {
            text: '统计折线图'
          },
          tooltip:{
            trigger: 'axis'
          },
          xAxis: {
              type: 'category',
              data: this.xData
          },
          yAxis: {
              type: 'value'
          },
          series: [{
              data: this.yData,
              type: 'line'
          }]
      };

      this.chart.setOption(option);
    }
  }
}
</script>

<style>
</style>
